<%--
  Created by IntelliJ IDEA.
  User: SJP
  Date: 2021/5/22
  Time: 10:27
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--需要引用jstl语言包--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<div align="center">
    <%--大于首页，才显示--%>
    <c:if test="${requestScope.page.pageNn > 1}">
        <a href="${ requestScope.page.url }&pageNn=1">首页</a>
        <a href="${ requestScope.page.url }&pageNn=${requestScope.page.pageNn-1}">上一页</a>
    </c:if>
    <%--页码输出的开始--%>
    <c:choose>
        <%--情况1：如果总页码小于等于5的情况，页码的范围是：1-总页码--%>
        <c:when test="${requestScope.page.pageTotal <= 5}">
            <c:set var="begin" value="1"/>
            <c:set var="end" value="${requestScope.page.pageTotal}"/>
        </c:when>
        <%--情况2：总页码大于5的情况--%>
        <c:when test="${requestScope.page.pageTotal > 5}">
            <c:choose>
                <%--小情况1：当前页码为前面3个：1，2，3的情况，页码范围是：1-5.--%>
                <c:when test="${requestScope.page.pageNn <= 3}">
                    <c:set var="begin" value="1"/>
                    <c:set var="end" value="5"/>
                </c:when>
                <%--小情况2：当前页码为最后3个，8，9，10，页码范围是：总页码减4 - 总页码--%>
                <c:when test="${requestScope.page.pageNn > requestScope.page.pageTotal-3}">
                    <c:set var="begin" value="${requestScope.page.pageTotal-4}"/>
                    <c:set var="end" value="${requestScope.page.pageTotal}"/>
                </c:when>
                <%--小情况3：4，5，6，7，页码范围是：当前页码减2 - 当前页码加2--%>
                <c:otherwise>
                    <c:set var="begin" value="${requestScope.page.pageNn-2}"/>
                    <c:set var="end" value="${requestScope.page.pageNn+2}"/>
                </c:otherwise>
            </c:choose>
        </c:when>
    </c:choose>

    <c:forEach begin="${begin}" end="${end}" var="i">
        <c:if test="${i == requestScope.page.pageNn}">
            【${i}】
        </c:if>
        <c:if test="${i != requestScope.page.pageNn}">
            <a href="${ requestScope.page.url }&pageNn=${i}">${i}</a>
        </c:if>
    </c:forEach>

    <%--页码输出结束--%>

    <%-- 如果已经 是最后一页，则不显示下一页，末页 --%>
    <c:if test="${requestScope.page.pageNn < requestScope.page.pageTotal}">
        <a href="${ requestScope.page.url }&pageNn=${requestScope.page.pageNn+1}">下一页</a>
        <a href="${ requestScope.page.url }&pageNn=${requestScope.page.pageTotal}">末页</a>
    </c:if>
    共${ requestScope.page.pageTotal }页，${ requestScope.page.pageTotalCount }条记录
    到第<input type="text"style="width: 80px" value="${param.pageNn}" name="pn" id="pn_btn">页
    <input id="searchpagebtn" type="button" value="确定">
    <script type="text/javascript">
        $(function () {
            $("#searchpagebtn").click(function () {
                var pageNn =$("#pn_btn").val();
                //javascript提供一个location地址栏对象
                //它有一个href属性可以获取浏览器的地址栏中的地址
                //href属性可读可写
                location.href ="${pageScope.basePath}${ requestScope.page.url }&pageNn=" + pageNn;
            })
        })
    </script>
</div>

